The abstract mathematical theory of partial differential equations (PDEs) isformulated in terms of manifolds, scalar fields, tensors, and the like, butthese algebraic structures are hardly recognizable in actual PDE solvers. Thegeneral aim of the Sophus programming style is to bridge the gap between theoryand practice in the domain of PDE solvers. Its main ingredients are a libraryof abstract datatypes corresponding to the algebraic structures used in themathematical theory and an algebraic expression style similar to the expressionstyle used in the mathematical theory. Because of its emphasis on abstractdatatypes, Sophus is most naturally combined with object-oriented languages orother languages supporting abstract datatypes. The resulting source codepatterns are beyond the scope of current compiler optimizations, but aresufficiently specific for a dedicated source-to-source optimizer. The limited,domain-specific, character of Sophus is the key to success here. This kind ofoptimization has been tested on computationally intensive Sophus style codewith promising results. The general approach may be useful for other styles andin other application domains as well.
展开▼